
body,
p,
h1,
ul,
li,
blockquote {
  padding: 0px;
  margin: 0px;
  user-select: none;
}

body {
  --urlred: url("svg/lnred.svg");
  --urlblue: url("svg/lnblue.svg");
  --urlugreen: url("svg/unlngreen.svg");
  --urlured: url("svg/unlnred.svg");

  --urleabr: url("svg/eabrir.png");
  --urlfch: url("svg/fechar.png");
  --urlefch: url("svg/efechar.png");
  
  --wmodX: 0px;
  --wmodY: 0px;

  --line: color-mix(in lch, canvasText 15%, transparent);  /* ou 25% */
  --size: 1.81rem;  /* variavel das linhas background */
  --psize: 1.2rem;
  --braio: 30% 35% 30% 15% / 25% 20% 30% 15%;
  font-family: sans-serif;
/*  "comfortaa", sans-serif;          */
/*  font-family: "Volkorn", Georgia, Serif;   */
}

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}


body::before {
	content: '';
	height: 100vh;
	width: 100vw;
	position: fixed;
	background: linear-gradient(
				90deg, var(--line) 1px,
				transparent 1px var(--size))
			0 -5vmin / var(--size) var(--size),
		linear-gradient(var(--line) 1px, transparent 1px var(--size)) 0 -5vmin / var(--size) var(--size);
	-webkit-mask: linear-gradient(-25deg, transparent 35%, white);
	        mask: linear-gradient(-25deg, transparent 35%, white);
	top: 0;
	z-index: -1;
}




h1, h2 {
  font-family: "Tangerine", cursive;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}


p {
  font-size: max(1.3vw, 1rem);
  line-height: max(1.8vw, 1.8rem);
  color: rgb(58, 58, 58);
}

@media (min-width:1800px) {
  p {
    font-size: 1.56rem;
  }
}

.footer p {
  color: white;
  font-size: 1rem;
  text-align: center;
  line-height: 2.2rem;

/*  padding: 5px;*/
}


/* GRID GERAL */

.estrutura {
  display: grid;
  align-items: center;
  align-self: center;
  align-content: center;
  grid-template-columns: minmax(18.75rem, 1fr) 4fr;
  grid-template-rows: 9.375rem auto max(4.375rem);
  grid-template-areas:
    "navegador navegador"
    "notalateral nucleo"
    "footer footer";
}


.navegador {
  grid-area: navegador;
  margin: 0 auto;
  width: 100%;
  height: 6.625rem;
  background: #268bdf;
  padding: 1.8em 0.2em 0.8em;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  backface-visibility: hidden;
  z-index: 999;
}


.navegador {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  justify-items: center;
  justify-content: space-between;
  grid-template-areas: "efeito";
}

.menu {
  display: flex;  
  grid-area: efeito;
  position: relative;
  justify-content: space-between;
  flex-wrap: wrap;
}

.menu.ltitem {
  display: none;
  position: absolute;
  right: 10rem;
  top: 0px;
}

.btn_lista {
  display: none;  
  font-family: 'Open Sans', sans-serif;
  color: #fff;
  cursor: pointer;
  border-style: solid;
  border-color: white;
  border-radius: 50% 50% 0% 50%;
  position: absolute;
  right: 0.625rem;
  padding: 0.9375rem 1.5625rem;
}

.btn_lista i {
  font-size: 1.4rem;
}

.menu_lista {
  display: none;
  position: absolute;
  right: 2rem;
  top: 3.75rem;
  height: 0;
  width: 13.75rem;
  background: rgba(216, 216, 216, 0.1);
  backdrop-filter: blur(0.3125rem);
  border-radius: 0.625rem;
  overflow: hidden;
  transition: height 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.menu_lista.open {
  height: 11.25rem;
}

.menu_lista li {
  display: flex;
  padding: 0.2rem;
  margin-bottom: 0.1rem;
  list-style: none;
  align-items: center;
  justify-content: center;
}


.navegador.wdt1100 {
  height: 5rem;
  padding: 0.5em 0.2em;
  display: flex;
}

.menu.wdt1100 a {
  letter-spacing: 0.125rem;
  font-weight: 400;
  font-size: 0.7em;
}


.ltitem a {
  font-size: 1.0em;
}

.menu_lista a {
  text-decoration: none;
  color: rgb(58, 58, 58);
  font-size: 1.0rem;
}

  .menu_lista li:has(a:hover),
  .menu_lista li.marca {
    border-radius: 1.25rem;
    background-color: orange;
  }


@media (max-width: 920px) {
  /* estava 1100px  */

  .navegador.wdt920 {
    height: 5rem;
    padding: 0.5em 0.2em;
  }

  .menu {
    display: none;
  }

  .menu.ltitem {
    display: block;
  }

  .btn_lista,
  .menu_lista {
    display: block;
  }
}

.menu a span {
  text-align: center;
}

.menu a {
  font-family: 'Raleway', sans-serif;
  position: relative;
  display: inline-block;
  margin: 0.9375rem 1.5625rem;
  outline: none;
  color: #ffffff;
  text-decoration: none;
  text-transform: uppercase;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.3);
  line-height: 2em;
  /* troca de 2.5vw por 2em */
  -webkit-perspective: 50rem;
  -moz-perspective: 50rem;
  perspective: 50rem;
  /* alterado de 800 para 400 depois para 600 */
}

.menu.ltitem a.marca,
.menu.ltitem a.marca span {
  background: #fff;
  color: #2f4351;
  border-radius: var(--braio);
  pointer-events: none;
}

.menu a.marca,
.menu a.marca span {
  background: #fff;
  color: #2f4351;
  border-radius: var(--braio);
  pointer-events: none;
}

.menu a.marca span::after {
  transform: rotateX(0deg);
}


.menu a span {
  position: relative;
  display: inline-block;
  padding: 0.1875rem 0.9375rem 0;
  background: #587285;
  box-shadow: inset 0 0.1875rem #2f4351;
  border-radius: var(--braio);
  -webkit-transition: background 1s;
  -moz-transition: background 1s;
  transition: background 1s;
  -webkit-transform-origin: 50% 0;
  -moz-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 0% 50%;
  -moz-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
}

.menu a span::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  color: #2f4351;
  content: attr(data-hover);
  border-radius: var(--braio);
  -webkit-transform: rotateX(359deg);
  -moz-transform: rotateX(359deg);
  transform: rotateX(350deg);
  -webkit-transition: -webkit-transform 1s;
  -moz-transition: -moz-transform 1s;
  transition: transform 0.6s;
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  transform-origin: 0 0;
  pointer-events: none;
}

.menu a:hover span {
  background: #f1af95;
  color:rgb(58, 58, 58);
}

.menu a:hover span::before,
.menu a:focus span::before,
.menu a:focus span::after {
  -webkit-transform: rotateX(10deg);
  -moz-transform: rotateX(10deg);
  transform: rotateX(10deg);
}


/*  Botão regresso ao projeto  */

.botmregresso {
  position: absolute;
  width: 4.375rem;
  height: 4.375rem;
  border-radius: 50%;
  border: none;
  background-color: #82b87b;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.1s;
}

.botsvg {
  width: 3rem;
  height: 3rem;
}

@media (max-width: 920px) {
  .botmregresso {
    width: 2.5rem;
    height: 2.5rem;
  }
  svg {
    height: 1.5625rem;
    width: 1.5625rem;
  }
}

.botmregresso[data-off] {
  display: none;
}


.botmregresso.esq {
  top: 80%;
  left: 3.75rem;

}

.botmregresso.esq:hover {
  background-color: #c2f1bb;
  color: rgb(70, 70, 70);
  box-shadow: -0.3125rem -0.3125rem 0.1875rem 0px rgba(122, 122, 122, 0.75);
}

.botmregresso.esq:hover {
  top: 80%;
  left: 4.375rem;
}



/* nucleo */

.nucleo {
  display: grid;
  max-width: 56.25rem;  /* valor inicial 900px */
  height: fit-content;
  grid-area: nucleo;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: none;
  grid-gap: 1px;
  padding: 1px;
  padding-left: 1.875rem;
  grid-row-start: 2;
  margin: 0 auto;
}

.nucleo#Contactos {
  max-width: 100%;
}

.nucleo#Loja,
.nucleo#Estrategia {
  max-width: 100%;
  max-height: 100%;
}


#Projeto {
  display: grid;
}

#Estrategia, #Lançamento, #Contactos, #Loja,
#Qualidade, #nt1, #nt2, 
#nt3, #nt4, #nt5 {
  display:none;
}


.vermais {
  display: none;
  /* deverá ser block  */
  grid-column: 1 / span 2;
  place-self: center;
  position: relative;
  font-size: min(2vw 1.25rem);
  color: #8f8f8f;
  text-align: center;
  border: 2px solid #8f8f8f;
  border-radius: 0.75rem;
  padding: 1.5%;
  margin: 1.5%;
  width: 30%;
  background-color: #ffffff;
  cursor: pointer;
}

.verpro,
.vertop {
  display: none;
  grid-column: 1 / span 2;
  place-self: end; /* pode ser start (para a esquerda); center; end (para direita) */ 
  position: relative;
  border-radius: 0 0.75rem 0 0.75rem;
  border: none;
  background-color: white;
  border-left: 2px solid #525252;
  border-bottom: 2px solid #525252;
  height: 2.1vw;
  min-height: 3.125rem;
  cursor: pointer;
  font-size: 1.1vw;
  text-align: left;
  color: #102183;
}

.vtcx {
  background-color: #ebac59;
  border-right: 2px solid #525252;
  border-top: 2px solid #525252;
}

.vertop{
  width: 100%;
}

@media (max-width: 1400px) {
 .vertop, .verpro{
    font-size: 0.875rem;
 }
}

.verpro{
  width: 80%;
}

.verpro ~ .intmax{
  width:78%;
  place-self: end;
}

.ativotop, .ativopro{
  background-color: #706f6f;
  color: white;
  >mark.roxo{background: none;};
  >mark.laranj{background: none;};

}



.vermove{
  animation: vert 3s linear forwards;
}

@keyframes vert { 
  0% {
    transform: translate3d(0px, 0px, 1.875rem);
    opacity: 0.8;
  }
  10%{
    transform: rotate(30deg);
  }
  90% {
    transform: translate3d(0, -215.625rem, 1.875rem);
  }
  100%{
    transform: rotate(0deg);
    opacity: 1;
  }
}

.vermais:hover {
  color: #fff;
  background-color: #7c7c7c;
}


.verpro:hover,
.vertop:hover{
  background-color: #706f6f;
  color: white;
}

.verpro:hover#fechado>.bxbut:after,
.vertop:hover#fechado>.bxbut:after {
  content: var(--urleabr);
}

.verpro:hover#aberto>.bxbut:after,
.vertop:hover#aberto>.bxbut:after {
  content: var(--urlefch);
}


/* ESTAS CONFIGURAÇÕES COLOCAM A INFORMAÇÃO DEPOIS DA CAIXA bxbut */
.verpro#fechado>.bxbut:after,
.vertop#fechado>.bxbut:after {
  content: var(--urlfch);
  z-index: 3;
  padding: 3px;
  position: absolute;
  right: 3rem;
  top: 0.1rem;
}


.verpro#aberto>.bxbut:after,
.vertop#aberto>.bxbut:after {
  content: var(--urleabr);
  z-index: 3;
  padding: 3px;
  position: absolute;
  right: 3rem;
  top: 0.1rem;
}



.cxmax{
  border: 2px solid #efefef;
  padding: 0.9375rem;
  margin: 0.875rem 0px 0.875rem 0;   /* para distanciar ou aproximar as caixas é alterar o 2º valor */
  background: #ffffffc0;
  box-shadow: 0 1px 1.25rem 0.3125rem rgba(0, 0, 0, 0.27), 0 0 2.5rem 0.3125rem rgba(0, 0, 0, 0.09) inset; 
}

.cxmax p{
  font-size: 1rem;
  line-height: 1.5625rem;
}

.intmax,
.intmaxG {
  display: none;
  width: 100%;
  grid-column: 1 / span 2;
  text-align: justify;
}

.intmaxG > .titulo {
  width: 80%;
  place-self: center;
}

.opt {
  display: none;
}


.bxbut {
  display: block;
  position: absolute;
  top: 0.5rem;
  width: 100%;
}

.bxbut div:nth-child(1){
  display: inline-block;
  position: absolute;
}

.bxbut div:nth-child(2){
  display: inline-block;
  position: absolute;
  right:4rem;
  font-size: 1.3rem;
  color: #bdbdbd;
}

.intmax p {
  animation: text 3s linear;
}


.titulo {
  grid-column-start: 1;
  grid-column-end: 3;
  margin-bottom: 0.625rem;
}

.titulo h1 {
  font-size: min(10vw, 3.5rem);
  font-weight: bold;
  line-height: 1;
  animation: text 3s linear;
}

#pj10{
  display: inline-block;
  position: absolute;
  transform-origin: 0 0;
  transform: rotate(-20deg) translate(-0.5rem, 0.5rem);
}

/*
.titulo span {
  font-size: 0.875em;
  font-style: italic;
}
*/

footer {
  display: grid;
  position: fixed;
  grid-area: footer;
  grid-row-start: 3;
  grid-template-columns: 1fr 1fr 1fr 1fr max(0.625rem) 1fr;
  grid-template-rows: max(3rem);
  grid-template-areas:
    "propo propo propo termo septp priva";
  bottom: 0;
  right: 0;
  left: 0;
  align-items: center;
  align-self: center;
  backface-visibility: hidden;
  background: linear-gradient(135deg, #587285c5, #587285);
  z-index: 999;
}

.propo {
  display: grid;
  grid-area: propo;
  grid-column: 1 / span 3;
  grid-row: 1;
}

.termo {
  display: grid;
  grid-area: termo;
  grid-column: 4;
  grid-row: 1;
  justify-content: right;
}

.septp {
  display: grid;
  grid-area: septp;
  grid-column: 5;
  grid-row: 1;
}

.priva {
  display: grid;
  grid-area: priva;
  grid-column: 6;
  grid-row: 1;
  justify-content: left;
}

.politica {
  display: block;
  position: relative;
  color: white;
  background-color: transparent;
  padding: 0.3125rem;
  cursor: pointer;
  border: none;
}

.politica:hover {
  color: #0a0a0a;
}


/* Nota Lateral esquerda */

.ladoesq {
  display:grid;
  grid-area: ladoesq;
  place-self: start;
  height: 80%;
  z-index: 2;
}

.notalateral {
  display:grid;
  grid-area: notalateral;
  place-self: start;
  padding-top: 5rem;
  z-index: 2;
}

.ntlconteudo {
  display:none;
  width: 90%;
  padding: 1.875rem; 
  margin: 0 auto;
}

.ntlon{
  display:block;
}

.notinter{
  position: sticky;
  width: 8vw;
  height: 5vw;
  border-radius: 0 50% 50% 50%;
  padding: 3.125rem 3.125rem 3.125rem 0.9375rem; 
  background-color: rgb(241, 225, 179);
}


.notinter p {
  font-size: 1rem;
  line-height: 1.3;
}

.notinter p.noticentro {
  font-size: 0.6875rem;
  position:relative;
  left: 10%;
}

.centro-b {
  font-family: "Tangerine", cursive;
  font-size: 1.6875rem; 
  line-height: 1;
}

/* ESTILOS GERAIS  */


.col-wide {
  grid-column: 1 / -1;
}

.imagem-1 {
  grid-row: span 2;
  align-self: end;
}

.imagem-2 {
  align-self: end;
}

/* ANIMAÇÃO DO NUCLEO */

@keyframes revela {
  10% {
    opacity: 0;
    color: white;
    clip-path: inset(100% 100% 100% 100%);
  }

  25% {
    opacity: 0.1;
    color: rgb(167, 167, 167);
    clip-path: inset(0% 0% 0% 0%);
  }

  40% {
    opacity: 0.4;
    color: rgb(94, 94, 94);
  }

  75% {
    opacity: 1;
    color: rgb(58, 58, 58);
  }

  100% {
    opacity: 1;
    color: rgb(58, 58, 58);
  }
}

@keyframes move {
  0% {
    opacity: 0;
    translate: -250vw 0;
  }

  100% {
    opacity: 1;
    translate: 0 0;
  }
}




@keyframes text {
  0% {
    opacity: 0;
    color: transparent;
  }

  70% {
    opacity: 0.9;
    color: black;
  }

  100% {
    opacity: 1;
  }
}


/* ESTILO SPAN E TEXTOS INTERIORES */


.xt:hover {
 font-weight: 800;
}

.intmax p::first-letter {               /* primeira letra */

  font-family: "Tangerine", cursive !important; 
  font-size: calc(var(--psize)*2) !important;
  font-style: normal;
  color: rgb(58, 58, 58);
}

/*
.intmax p:hover::first-letter {
  color: rgb(183, 185, 49) !important;
}
*/


#sp1{  /* outras finalidades */
  font-family: "Tangerine", cursive !important;
  font-size: calc(var(--psize)*3) !important;
  font-weight: 700;
  font-style: normal;
}

#sp1:hover {
  color: rgb(16, 55, 73) !important;
}

#sp1f{  /* outras finalidades */
  font-family: "Tangerine", cursive !important;
  font-size: 1.7rem;
}



#sp2{ /*texto interior  */
  font-size: calc(var(--psize)*1.2) !important;
}

#sp2:hover {
  color: rgb(27, 82, 107) !important;
}


/* CONFIGURAÇÃO CONTACTOS  */


.maingrd {
  display: none;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: left;
  width: 100%;
  height: 100%;
}

.contcrow img {
  width: 100%;
  display: block;
  object-fit: contain;
  cursor: pointer;
}

.ligacao h2 {
  font-family: "Tangerine", cursive;
  font-size: 2.5rem;
}

.square {
  display: flex;
  position: relative;
  margin: 1.5625rem 1.5625rem;
  width: 14.375rem;
  height: 14.375rem;
  justify-content: center;
  align-items: center;
}

.ligacao {
  position: relative;
  padding: 2.5rem 3.75rem;
  color: #1338a0;
  text-align: center;
  transition: 0.5s;
  z-index: 10;
}

.ligacao:hover {
  color: white;
}

.ligacao a {
  position: relative;
  display: inline-block;
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
  border: 2px solid #6b6969;
  padding: 0.375rem 1.125rem;
  font-size: 1.0625rem;
  text-decoration: none;
  color: #333030;
  font-weight: 600;
  border-radius: 73% 27% 44% 56% / 49% 44% 56% 51%;
}

.ligacao p {
  font-size: 1.25rem;
}

.ligacao a:hover {
  background: white;
  border-color: white;
  color: #333;
}

.square span:nth-child(n) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:rgba(88, 207, 211);
  transition: 0.5s;
}

.square span:nth-child(1) {
  border-radius: 32% 58% 69% 43% / 48% 32% 59% 55%;
  animation: animate 6s linear infinite;
}

.square span:nth-child(2) {
  border-radius: 38% 62% 63% 37% / 41% 44% 56% 59%;
  animation: animate 4s linear infinite;
}

.square span:nth-child(3) {
  border-radius: 31% 45% 74% 35% / 38% 56% 51% 87%;
  animation: animate2 10s linear infinite;
}

.email:hover span:nth-child(1),
.email:hover span:nth-child(2),
.email:hover span:nth-child(3) {
  background: #eb735e;
}

.facebook:hover span:nth-child(1),
.facebook:hover span:nth-child(2),
.facebook:hover span:nth-child(3) {
    background: #5ad1cd;
}

.twitter:hover span:nth-child(1),
.twitter:hover span:nth-child(2),
.twitter:hover span:nth-child(3) {
  background: #84cdfa;
}

.facebook:hover span:nth-child(1),
.facebook:hover span:nth-child(2),
.facebook:hover span:nth-child(3) {
  background: #b7ca4b;
}

.instagram:hover span:nth-child(1),
.instagram:hover span:nth-child(2),
.instagram:hover span:nth-child(3) {
  background: #ebac59;
}

@keyframes animate {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
  }
}

@keyframes animate2 {
  0% {
      transform: rotate(360deg);
  }
  100% {
      transform: rotate(0deg);
  }
}

 .wopen, .wclose{
    display:none;
    position: absolute;
    background: rgba(170, 105, 8, 0.459);
    backdrop-filter: blur(5px);
    width: 20%;
    padding-left: 5px;
    border-radius: 10px;
    overflow: hidden;
    z-index: 9000;
}
 .wopen.wmove,
 .wclose.wmove {
     display:block;
}

.wopen p,
.wclose p {
  font-size: 1.1rem;
  color: white;
}

/* JANELAS MODAL 


.modwin {
  position: relative;
  height: 0;
  background: rgba(23, 107, 44, 0.103);
  backdrop-filter: blur(5px);
  border-radius: 10px;
  overflow: hidden;
  transition: all 1s linear;
  z-index: 5;
}

.wopen, .wclose {
  display: block;
  left: 0px;
  top: 0px;
  height: 0vw;
  padding: 0vw;
  width: 10vw;
}

.wmove {
  height: 4.3vw;
  padding: 0.6vw;
  width: 16.5vw;
}

*/

/* APRESENTAÇÃO DO LIVRO POLITICA E TERMOS*/


.janela-modal {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(219, 219, 219, 0.6);;
  backdrop-filter: blur(0.3125rem);
  z-index: 9992;
  align-items: center;
  justify-content: center;
}

.janela-modal.mostrar {
  display: flex;
}

.modal {
  width: 70%;
  height: 80%;
  min-height: 25rem;
  background-color: rgba(161, 161, 161, 0.247);
  backdrop-filter: blur(0.5rem);
  padding: 1.25rem;
  border-radius: 0.625rem;
  align-items: center;
  justify-content: center;
  box-shadow: -0.625rem -0.625rem 0.3125rem 0.125rem rgba(122, 122, 122, 0.75);
}

@media (min-width: 1050px) {

  .modal {
      width: 50rem;
  }

}

.mostrar .modal {
  animation: animate-modal 1s;
}

.livroapr {
  top: 0.625rem;
  width: 100%;
  height: 100%;
  position: relative;
  overflow-y: scroll; 
}

.livroapr::-webkit-scrollbar {
  width: 0.75rem;
}

.livroapr::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 0.3125rem rgba(0,0,0,0.3); 
  border-radius: 0.625rem;
}

.livroapr::-webkit-scrollbar-thumb {
  border-radius: 0.625rem;
  -webkit-box-shadow: inset 0 0 0.3125rem rgba(0,0,0,0.5); 
}

.folha {
  width: 100%;
  display: none;
}

.folha[data-active] {
  display: block;
}

.folha img {
  width: 100%;
  height: 100%;
  object-position: center;
}

.fade {
  animation-name: fade;
  animation-duration: 1.2s;
}

.botmodal {
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: none;
  background-color: #82b87b;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.1s;
}

.botmodal[data-off] {
  display: none;
}

.botmodal.fch {
  background-color: #ee9999;
  top: -1.875rem;
  right: -1.875rem;
}

.botmodal.esq {
  top: 50%;
  left: -1.875rem;

}

.botmodal.dir {
  top: 50%;
  right: -1.875rem;

}

.botmodal.esq:hover,
.botmodal.dir:hover {
  background-color: #c2f1bb;
  color: rgb(70, 70, 70);
  box-shadow: -0.3125rem -0.3125rem 0.3125rem 0px rgba(122, 122, 122, 0.75);
}

.botmodal.esq:hover {
  top: 50%;
  left: -2.0625rem;
}

.botmodal.dir:hover {
  top: 50%;
  right: -2.0625rem;
}

.botmodal.fch:hover {
  background-color: #ff0000;
  color: rgb(255, 255, 255);
  top: -1.625rem;
  right: -2.0625rem;
  box-shadow: -0.3125rem -0.3125rem 0.1875rem 0px rgba(122, 122, 122, 0.75);
}

.botmodal.link,
.botmodal.scroll {
  width: 3.75rem;    
  height: 3.75rem;
  font-size: 1.125rem;
}

.botmodal.link {
  bottom: -2.5rem;
  right: -1.875rem;    
}

.botmodal.scroll {
  top: -2.5rem;
  left: -1.875rem;    
}

.botmodal.scroll:hover,
.botmodal.link:hover {
  background-color: #c2f1bb;
  color: rgb(70, 70, 70);
  box-shadow: -0.3125rem -0.3125rem 0.1875rem 0px rgba(122, 122, 122, 0.75);
}

.botmodal.link:hover {
  bottom: -2.6875rem;
  right: -2.0625rem
}

.botmodal.scroll:hover {
  top: -2.6875rem;
  left: -2.0625rem;
}


@keyframes animate-modal {
  from{
      opacity: 0;
      transform: translate3d(0, -2.5rem, 10%);
  }

  to{
      opacity: 1;
      transform: translate3d(0, 0, 0);
  }
}




/* Anuncios */

.anuncios {
  display: none;
  grid-area: anuncios;
  grid-row-start: 2;
  top: 0;
  padding-top: 1.875rem;
  height: 80%;
  grid-template-columns: 1fr;
  align-content: center;
  justify-content: center;
}

.anuncios-item img,
.anuncios-item iframe {
  display: block;
  aspect-ratio: 1 / 1;
  width: 80%;
  place-self: end;
  object-fit: contain;
  cursor: pointer;
}

.anuncios-item {
  transition: all 1s;
}

.anuncios-item:hover {
  opacity: 0.7;
  cursor: pointer;
}

#an_livro, #an_loja, #an_video1 {
  display: none;
}

/* CONFIGURAÇÃO DA LOJA    */


.expcx,
.hexpcx{
  display: inline-block;
  position: relative;
  padding: 1.25rem;
  width: 100%;
  height: 100%;
}

.expcx{
  left: -1.875rem;
  top:-0.9375rem;
}

.pubinf{
  display: block;
  position: absolute;
  padding: 1.25rem;
  left: 10%;
  top:36.25rem;
  width:80%;
  height: 10%;
  background-color: white;
  box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.27), 0 0 2.5rem rgba(0, 0, 0, 0.06) inset; 
}

.expcx p{
  font-size: 1rem;
  color: #000000;
}

.expcx img {
  display: inline-block;
  position:relative;
/*  aspect-ratio: 1 / 1;    */
  object-fit: cover; 
  transform-origin: 50% 50%; 
  transform-style: preserve-3d; 
  transform: perspective(31.25rem) rotateY(25deg);
  transition: 0.5s;
}

.pubinf img {
  display: block;
  position:relative;
  left: -25rem;
  top: -5rem;
/*  aspect-ratio: 1 / 1;    */
  object-fit: cover; 
  transform: scale(0.2);
}

.little {
  display: block;
  position: relative;
  font-size: 0.875rem;  
  font-family: "Open Sans", sans-serif;
  white-space: nowrap; 
  color: rgb(77, 78, 80);
  padding: 1.25rem;
  left: -15.9375rem;
  top:29.25rem;
  width:80%;
  height: 20%;

}

#linha:hover .expcx img {
  transform: perspective(6.25rem) rotateY(0deg) translate(-0.625trm);
}

.prodshop:hover .expcx img{
  transform: perspective(6.25rem) rotateY(0deg) translate(-0.625rem);
}

.hexpcx {
  opacity: 0.2;
}

#horiz:hover .hexpcx {
  opacity: 1;
}

.hexpcx img {
  display: inline-block;
  position:relative;
/*  aspect-ratio: 1 / 1; */
  left: -2.5rem;
  top:1.25rem;
  object-fit: cover; 
}

.preco {
  display: inline-block;
  height: 3.75rem;
  width: 8.125rem;
  object-fit: end;
  z-index: 10;
  white-space: nowrap; 
  transform: translateY(27.0625rem) translateX(-80%);
}

.ttesq {
  display: none;
  position: relative;
  height: 50%;
  width: 8.025rem;
  left: -20rem;
  top: 18.75rem;
  z-index: 10;
  text-align: left;
  justify-content: center;
  white-space: nowrap; 
}

#horiz:hover .ttesq {
  display:block;
}

.fixo {
  display: block;
  left:-11.875rem;
  top: 22.5rem;

}

.preco p {
  font-size: 1.75rem;  
  object-fit: end; 
  font-weight: bold;
  font-family: "Open Sans", sans-serif;
  color: rgb(13, 57, 94);
}

.preco span {
  color: transparent;
  text-shadow: 0px 0.625rem 0 rgb(13, 57, 94); 
  letter-spacing: 0px; 
  background-clip: text;
}

.txt{
  font-size: 1.4375rem; 
  text-align: center;
}

.ttp {
  font-size: 2.5rem; 
}

.wa_az{
  text-shadow: 0.125rem 0.1875rem 0 rgb(59, 59, 59, 0.38); 
  background: rgb(13, 57, 94); 
}

.wa_br{
  text-shadow: 0.125rem 0.1875rem 0 rgba(223, 223, 223, 0.38); 
  background: rgb(255, 255, 255); 
}

.word-art {
  display: inline-block;
  font-weight: bold;
  letter-spacing: 0px; 
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.expositor {
  display:flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  justify-self: center;
  align-items: left;
  top: 0px;
  width: 100%;
  height: auto;
  margin: 0px;
  padding: 1.25rem 0.625rem;
  padding-left: 0px; 
/*  transform: scale(0.7); */
}

.prodshop:hover{
  box-shadow: 0 0.5rem 1rem rgba(56, 56, 56, 0.6);
}

#horiz:hover{
  box-shadow: 0 0.5rem 1rem rgba(56, 56, 56, 0.6);
}

#linha:hover{
  box-shadow: 0 0.5rem 1rem rgba(56, 56, 56, 0.6), 0px -1.75rem #fff inset, 0px -1.875rem #838282 inset;
}


.prodshop {
  display:flex;
  position: relative;
  top: 0px;
  width: 20.625rem;
  height: 35rem;
  padding: 3.125rem;
  border: 2px solid #efefef;
  margin: 1.25rem 7.5rem 1.25rem 0;   /* para distanciar ou aproximar as caixas é alterar o 2º valor */
  background: #fff;
  box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.27), 0 0 2.5rem rgba(0, 0, 0, 0.06) inset; 
}

#linha.ponteiro {
  cursor: pointer;
}

.prodshop#linha{
  box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.27), 0 0 2.5rem rgba(0, 0, 0, 0.06) inset,
              0px -1.75rem #fff inset, 0px -1.875rem #838282 inset; 
}

.prodshop#horiz{
  width: 25rem;
  box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.27), 0 0 2.5rem rgba(0, 0, 0, 0.06) inset;
}


.prodshop:after,
.prodshop:before {
  content: '';
  z-index: -1;
  position: absolute;
  left: 0.6875rem;
  bottom: 0.75rem;
  width: 70%;
  max-width: 6.25rem; 
  max-height: 6.25rem;
  height: 55%;
  box-shadow: 0 0.625rem 1rem rgba(0, 0, 0, 0.3);
  transform: skew(-15deg) rotate(-6deg); 
}

.prodbox {
  display:flex;
  position: relative;
  flex-direction: column;
  top:0px;
  width: 25rem;
  height: 39.375rem;
  padding: 0.9375rem;
  margin: 1.25rem 6.25rem 1.25rem 0px;   /* para distanciar ou aproximar as caixas é alterar o 2º valor */
  border-radius: 0.625rem 2.5rem; /* faz os cantos mesmo que o que se vêm são os da outra caixa de fora */  
}

.cxprod{
  display: block;
  position:relative;
  width: auto;
  height: auto;
  text-align: justify;
  border: 1px red solid;
}

.topo{
  display: block;
  top: 0px;
  right: 0;
  width: 100%;
  height: 3.125rem;
}

.cxprod p{
  font-size: 1rem;
  line-height: 1.5625rem;
  color: white;
}

.cxprod h1{
  font-size: 3.125rem;
  font-weight: bold;
  color: wheat;
}

.fftang {
  font-family: "Tangerine", cursive;
  font-size: 2rem;
}

.bkeudo {
  display: block;
  position: absolute;
  top: 0.3rem;
  left: 1rem;
  text-align: start;
  padding: .5rem 1rem;
  width: 90%;
  transition: all 0.5s ease;
  text-overflow: ellipsis;
  white-space: nowrap;
  backdrop-filter: blur(.1rem);
  background-color: rgba(107, 107, 107, 0.2);
  border-radius: .5rem 2rem;
}

.bkeudo h1 {
  font-size: min(10vw, 3.5rem);
  font-weight: bold;
  line-height: 1;
  animation: text 3s linear;
}

.bxgeral p {
  animation: espera 3s linear;
}
@keyframes espera {
  0% {
    opacity: 0;
  }

  75% {
    opacity: 0.4;
  }

  100% {
    opacity: 1;
  }
}

.cxmeio {
  width: 100%;
  height:fit-content;
  position: relative;
  border-radius: .5rem 2rem;
  box-shadow: 0px 0.9375rem 1.25rem -0.3125rem rgba(61, 61, 61, 0.5);
}

.title {
  color: rgb(28, 96, 155);
  font-size: 1.3rem;
}

.bxgeral{
  display: block;
  width: 90%;
  height: 80%;
  padding-top: 1.1rem;
  text-align: justify;
  text-justify: inter-word;
  align-self: center;
  justify-self: center;
}

.bxgeral p::first-letter {               /* primeira letra */

  font-family: "Tangerine", cursive !important; 
  font-size: calc(var(--psize)*2) !important;
  font-style: normal;
  color: rgb(58, 58, 58);
}


.bckpd_az{
  background: #87d3ff;
  box-shadow: 0 1px 0.5rem rgba(0, 34, 255, 0.2), 
              0 0 25rem rgba(47, 0, 255, 0.8) inset; 
}

.bckpd_gr{
  background: linear-gradient(to right, #0d5806, #4fff48);
}

.bckpd_or{
  background: linear-gradient(to right, #856409, #fcd422);
}

.iva {
  display: block;
  top:-0.625rem;
  left: -5.625rem;
  width: 14.375rem;
  height: 2.8125rem;
  transform: rotate(-20deg);
  font-size: 0.8125rem;
}

.bkckv {
  display: none;
  top:39.375rem;
  left: 1.875rem;
  width: 10rem;
  height: 3.75rem;
  transform: rotate(-20deg);
  font-size: 1.125rem;
}

.send {
  position: absolute;
  background: #e8e8e8;
  border: 1px solid rgba(69, 152, 27, 1);
  border-radius: 4.375rem;
  box-shadow: 0 0 0 0 rgba(69, 152, 27, 0.9);
  font-weight: bold;
  font-family: "Open Sans", sans-serif;
  color: rgb(13, 57, 94);
  text-align: center;
  outline: none;
  padding: 0.9375rem 0.9375rem;
}

.animar {
  animation: alerta 1.5s infinite;
}


@keyframes alerta {
  0% {
    transform: scale();
  }
  70% {
    transform: scale();
    box-shadow: 0 0 0 1.25rem rgba(69, 152, 27, 0);
  }
    100% {
    transform: scale();
    box-shadow: 0 0 0 0 rgba(69, 152, 27, 0);
  }
}

#linha:hover .animar {
  animation: none;
}

#an_livro img:hover .animar {
  animation: none;
}

.top-light{
  position: absolute;
  align-content: center;
  left: 0; right: 0; 
  top: 3.125rem;
  margin: auto;
  width: 90%;
  height: 0.375rem;
  border-radius: 0.625rem;
  background: #3333332f;

}

#horiz:hover {
  background-color: #272727;
  border: 2px solid #272727;
}

#horiz:hover .top-light {
  background: #ffffff;
  box-shadow: 
  0 0px 1px 1px #fdfdfd,
  0 1px 2px 1px #f3f3f377,
  0 2px 0.375rem 1px #d3d2d277,
  0 0.25rem 0.75rem 0px #b3b2b199,
  0 1.25rem 1.25rem 2.5rem #ffffff60;
}

.stp_az{
  box-shadow: 0 0 0 0.5rem blue, 0 0 0 0.1875rem blue inset;  
  color: blue;
}

.stp_red {
  box-shadow: 0 0 0 0.5rem red, 0 0 0 0.1875rem red inset;  
  color: red;
}

.stamp {
  display:box;
  position: absolute;
  box-sizing: content-box;
  border-radius: 1.25rem;
  border: 0.3125rem solid transparent;
  font-weight: bold;
  font-family: "Courier";
  text-transform: uppercase;
  text-align: center;
  opacity:0.4;
  transform: rotate(-30deg);
}

.stpanime {
  animation-name: animecarrimbo;
  animation-duration: 2s;
}

@keyframes animecarrimbo {
  0% {
    opacity: 0;
  }
  45% {
    opacity: 0;
    transform: rotate(-30deg) scale(1.3);
  }
  100% {
    transform: rotate(-30deg) scale(1);
    opacity:0.4;
  }
}

.prodbox > .stamp{
  opacity: 0.2;
}

#horiz:hover .stamp {
  display:none;
}

.medio {
  width: 23.125rem;
  height: 5rem;
  top: 10rem;
  left: 0px;
  padding: 1.25rem 0.625rem;
  line-height: 2.5rem;
  font-size: 2.1875rem;
}

.menor {
  width: 10.625rem;
  height: 3.125rem;
  top: 2.5rem;
  left: 0.5rem;
  padding: 0.625rem 0.625rem;
  line-height: 1.6875rem;
  font-size: 1.25rem;
}

.prodbox > .menor{
  top: 12.5rem;
}

#meio {
  top: 28.125rem;
  width: 15.625rem;
  left: 6.25rem;
}
  

/* SUBLINHAR E MARCAÇÃO TEXTO */

.meio {
  text-align: center;
}
.direito {
  text-align: right;
}

mark.roxo{
  background: linear-gradient(to bottom, rgba(255,69,190,1) 0%,rgba(255,107,203,0.5) 60%,rgba(255,107,203,1) 100%);
}

mark.laranj{
  background: linear-gradient(to bottom, rgb(255, 216, 89,0.9) 0%,rgba(255, 216, 88, 0.3) 70%,rgb(255, 205, 41,0.9) 80%);
}

mark.azul{
  background: linear-gradient(to bottom, rgba(89, 175, 255, 0.9) 0%,rgba(88, 175, 255, 0.3) 70%,rgba(41, 175, 255, 0.9) 80%);
}

mark.blue{
  background: linear-gradient(to bottom, rgba(171, 215, 255, 0.9) 0%,rgba(181, 219, 255, 0.3) 70%,rgba(179, 227, 255, 0.9) 80%);
}

mark.mred{
  background: linear-gradient(to bottom, rgba(255, 140, 140, 0.5) 50%,rgba(255, 172, 190, 0.3) 70%,rgba(255, 140, 140, 0.9) 80%);
}

mark.verde{
  background: linear-gradient(to bottom, rgba(140, 255, 165, 0.5) 50%,rgba(187, 245, 175, 0.3) 70%,rgba(171, 255, 160, 0.9) 80%);
}

mark.escuro{
  background: linear-gradient(to bottom, rgba(53, 53, 53, 0.5) 50%,rgba(51, 51, 51, 0.3) 70%,rgba(172, 172, 172, 0.9) 80%);
  color: white;
}

mark.preto{
  background: rgba(14, 14, 14, 0.699);
  color:white;
}

mark.vermelho{
  background: rgba(255, 0, 0, 0.589);
  color:white;
}

.verpro:hover > mark,
.vertop:hover > mark{
  background: none;
}

.vertop>i,
.verpro>i {
  padding-left: 0;
}

.mk {
  display: inline-block;
  line-height: 0em;
  padding-bottom: 0.5em;
}

.uline {
  position: relative;
  white-space: nowrap;
}

.uline::after {
  content: "";
  position: absolute;
  z-index: -1;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -0.6rem;
  height: 1rem;
  left: -0.25rem;
  right: -0.25rem;
}


.cred.uline::after{
  background-image: var(--urlred); 
}


.cblue.uline::after{
  background-image: var(--urlblue);
}

.cgreen.uline::after{
  background-image: var(--urlugreen);
}

.bred.uline::after{
  bottom: -0.1rem;
  background-image: var(--urlured);
 
}

/*  CAIXA DE MENSAGEM  */

.mensagem {
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: fixed;
/*  background-color: rgba(219, 219, 219, 0.6);;
  backdrop-filter: blur(0.3125rem); */
  z-index: 9992;
  align-items: center;
  justify-content: center;
}

.mensagem.mostrar {
  display: flex;
}

.mensagem .botmodal.fch {
  background-color: #ee9999;
  top: -4.0625rem;
  left: calc(30% - 1.875rem);
}

.mensagem .botmodal.fch:hover {
  background-color: #ff0000;
  color: rgb(255, 255, 255);
  top: -3.8125rem;
  left: calc(30% - 1.6875rem);
  box-shadow: -0.3125rem -0.3125rem 0.1875rem 0px rgba(122, 122, 122, 0.75);
}

.cxmsg {
  position: absolute;
  left: 7%; /* resulta de 50% que seria a meio da caixa mãe -40% que é metade do tamanho do proprio*/
  top: 8.5rem;
  transform: translate3d(0, 0, 0);
  box-shadow: 2px 2px 0.5rem rgba(0, 0, 0, 0.5);
  background: none;
  border-radius: 6.25rem;
}

.cxmsg:after {
  content: "";
  width: 2.5rem;
  height: 3.75rem;
  transform: rotate(-60deg); /* transforma o retangulo num losango apresentando uma esquina*/
  background: #fff;
  position: absolute;
  box-shadow: 1px 4px 8px rgba(0, 0, 0, 0.5);
  z-index: -1;
  top: -1.25rem; /* desce metade do quadrado para se ver apenas meio losango*/
  left: calc(30% - 0.625rem); /* resulta da localização a metade menos netade do seu tamanho (20/2)*/
}

.inner {
  display: none;
  padding: 2.125rem;
  background: #fff;
  border-radius: 6.25rem;
  text-align: justify;
}

.inner p {
  font-size: 0.8rem;
  line-height: 1.3rem;
}

.inner h1{
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1rem;
}
